}
libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
- int *nb_vcpu, int *cpusize)
+ int *nb_vcpu, int *nrcpus)
{
libxl_vcpuinfo *ptr, *ret;
xc_domaininfo_t domaininfo;
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "getting physinfo");
return NULL;
}
- *cpusize = physinfo.max_cpu_id + 1;
+ *nrcpus = physinfo.max_cpu_id + 1;
ptr = libxl_calloc(ctx, domaininfo.max_vcpu_id + 1, sizeof (libxl_vcpuinfo));
if (!ptr) {
return NULL;
ret = ptr;
for (*nb_vcpu = 0; *nb_vcpu <= domaininfo.max_vcpu_id; ++*nb_vcpu, ++ptr) {
- ptr->cpumap = libxl_calloc(ctx, (*cpusize + 63) / 64, sizeof (uint64_t));
+ ptr->cpumap = libxl_calloc(ctx, (*nrcpus + 63) / 64, sizeof (uint64_t));
if (!ptr->cpumap) {
return NULL;
}
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "getting vcpu info");
return NULL;
}
- if (xc_vcpu_getaffinity(ctx->xch, domid, *nb_vcpu, ptr->cpumap, *cpusize) == -1) {
+ if (xc_vcpu_getaffinity(ctx->xch, domid, *nb_vcpu,
+ ptr->cpumap, ((*nrcpus) + 7) / 8) == -1) {
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "getting vcpu affinity");
return NULL;
}
}
int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
- uint64_t *cpumap, int cpusize)
+ uint64_t *cpumap, int nrcpus)
{
- if (xc_vcpu_setaffinity(ctx->xch, domid, vcpuid, cpumap, cpusize)) {
+ if (xc_vcpu_setaffinity(ctx->xch, domid, vcpuid, cpumap, (nrcpus + 7) / 8)) {
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "setting vcpu affinity");
return ERROR_FAIL;
}
int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo);
libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
- int *nb_vcpu, int *cpusize);
+ int *nb_vcpu, int *nrcpus);
int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
- uint64_t *cpumap, int cpusize);
+ uint64_t *cpumap, int nrcpus);
int libxl_set_vcpucount(libxl_ctx *ctx, uint32_t domid, uint32_t count);
int libxl_get_sched_id(libxl_ctx *ctx);
libxl_dominfo *dominfo;
libxl_vcpuinfo *vcpuinfo;
libxl_physinfo physinfo;
- int nb_vcpu, nb_domain, cpusize;
+ int nb_vcpu, nb_domain, nrcpus;
if (libxl_get_physinfo(&ctx, &physinfo) != 0) {
fprintf(stderr, "libxl_physinfo failed.\n");
goto vcpulist_out;
}
for (; nb_domain > 0; --nb_domain, ++dominfo) {
- if (!(vcpuinfo = libxl_list_vcpu(&ctx, dominfo->domid, &nb_vcpu, &cpusize))) {
+ if (!(vcpuinfo = libxl_list_vcpu(&ctx, dominfo->domid, &nb_vcpu,
+ &nrcpus))) {
fprintf(stderr, "libxl_list_vcpu failed.\n");
goto vcpulist_out;
}
if (domain_qualifier_to_domid(*argv, &domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", *argv);
}
- if (!(vcpuinfo = libxl_list_vcpu(&ctx, domid, &nb_vcpu, &cpusize))) {
+ if (!(vcpuinfo = libxl_list_vcpu(&ctx, domid, &nb_vcpu, &nrcpus))) {
fprintf(stderr, "libxl_list_vcpu failed.\n");
goto vcpulist_out;
}